<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8" />
		<title>1.Vue监测对象改变的原理</title>
		<!-- 引入Vue -->
		<script type="text/javascript" src="../js/vue.js"></script>
	</head>
	<body>
		<!-- 
			Vue如何监测对象中数据改变的？：
					(1).使用了数据劫持技术，所谓的数据劫持技术，就是靠Object.defineProperty的setter完成的；
					(2).遍历data对象的所有层次，为每一个属性都匹配：getter、setter —— 监视数据的改变
		-->
		<!-- 准备好一个容器-->
		<div id="demo">
			<h1>学校名称：{{name}}</h1>
			<h1>学校地址：{{address}}</h1>
			<button @click="changeName">给学校改名</button>
		</div>
	</body>

	<script type="text/javascript">
		//阻止 vue 在启动时生成生产提示。
		Vue.config.productionTip = false
		
		const vm = new Vue({
			el:'#demo',
			data:{
				name:'尚硅谷',
				address:'宏福科技园',
				a:{
					b:{
						c:{
							d:9
						}
					}
				}
			},
			methods:{
				changeName(){
					this.name = 'atguigu'
				}
			}
		})
		console.log(vm)
	</script>
</html>